#include<cppr.hpp>
using namespace std;
//将一个类型的指针转换为另一个类型的指针，它也允许从一个指针转换为整数类型

class A
{
  public:
    int a;
    char buf[10];
};

class B
{
    char p;
    char buf[100];

};

int main()
{
    char *pc = new char;
    int *pi = reinterpret_cast<int *>(pc);
    cout<< pc <<" | "<<pi<<endl;
    A *pa = new A;
    B *pb = reinterpret_cast<B *>(pa);
    //int addr = reinterpret_cast<int>(pa); //QT可以使用，这里使用会报错
    cout<< pa <<" "<<pb<<" "<<endl;
    
    //reinterpret_cast:将指针类型重新解释为其他指针类型
    
}